import request from '@/utils/request';
import type { BaseBeanModel, ResponsePageData, ResponseBaseData, QueryParamModel } from '@/api/model/baseModel';
const basePath = '/appsys/portlet/menuPortlet';
/** 门户小页 */
export interface SysMenuPortletDto extends BaseBeanModel {
  /** 小页名称 */
  menuName?: string;
  /** 小页编码 */
  menuCode?: string;
  /** 小页地址 */
  menuUrl?: string;
  /** 小页状态，0-禁用 1-启用 */
  menuStatus?: string;
  menuStatusName?: string;
  /** 跳转地址 */
  moreUrl?: string;
  /** 小页排序 */
  menuOrder?: number;
  /** 刷新频率 */
  refresh?: string;
  /** 显示标题，0-显示 1-不显示 */
  showTitle?: string;
  showTitleName?: string;
  /** 小页高度 */
  height?: string;
  /** 视图地址 */
  menuView?: string;
  /** 描述 */
  menuDes?: string;
  /** ui类型，0-bootstrap 1-vue */
  uiType?: string;
}

/**
 * 获取分页数据
 * @param param 分页、查询参数
 * @returns 获取到的列表数据
 */
export function listSysMenuPortletByPage(param: QueryParamModel): Promise<ResponsePageData<SysMenuPortletDto>> {
  return request.post(`${basePath}/search-by-page/v1`, param);
}

/**
 * 根据id加载数据
 * @param id 表单id
 * @returns 表单数据
 */
export function getSysMenuPortlet(id: string): Promise<ResponseBaseData<SysMenuPortletDto>> {
  return request.get(`${basePath}/get/v1/${id}`);
}

/**
 * 保存表单数据
 * @param form 表单数据
 * @returns 保存结果
 */
export function addSysMenuPortlet(form: SysMenuPortletDto): Promise<ResponseBaseData<any>> {
  return request.post(`${basePath}/insert/v1`, form);
}

/**
 * 更新表单数据
 * @param form 表单数据
 * @returns 更新结果
 */
export function saveSysMenuPortlet(form: SysMenuPortletDto): Promise<ResponseBaseData<any>> {
  return request.put(`${basePath}/update-sensitive/v1`, form);
}

/**
 * 根据id集合删除数据
 * @param ids 删除数据的id集合
 * @returns 删除结果
 */
export function delSysMenuPortlet(ids: string[]): Promise<ResponseBaseData<any>> {
  return request.delete(`${basePath}/delete-by-ids/${ids}/v1`);
}
